#ifndef __PIC_H__
#define __PIC_H__

typedef struct
{
    int width;                      //  BMP 图片宽度
    int height;		                //	BMP 图片高度
    short depth;		            //	BMP 图片色深
    int add;                        //  BMP 每行填充的 字节数目
    unsigned char *pixel_array;     //  像素数组的首地址
    //  按需增加
}BMP;                   //  用来描述一个显示屏

/*
    get_pixel_array:    获取 BMP 图片像素数组
    @bmpfile:           待获取的 BMP 路径名
    retval:             指向的空间保存了图片信息
*/
BMP *get_bmp_info(char *bmpfile);

/*
    free_bmp_info:  释放BMP信息空间
    @bmp:           指向的空间保存了 BMP信息空间地址
*/
void free_bmp_info(BMP **bmp);

/*
    display_bmp_reg:    正常显示 BMP 图片
    @x0:                待显示 BMP 图片在坐标轴的 X 坐标起点
    @y0:                待显示 BMP 图片在坐标轴的 Y 坐标起点
    @bmp:               指向的空间保存了 BMP信息
    @plcd:              指向了 Linux 帧缓冲,保存其首地址
*/
void display_bmp_reg(int x0,int y0,BMP *bmp,unsigned int *plcd);

/*
    display_bmp_special_1:  特效显示 BMP 图片
    @x0:                    待显示 BMP 图片在坐标轴的 X 坐标起点
    @y0:                    待显示 BMP 图片在坐标轴的 Y 坐标起点
    @bmp:                   指向的空间保存了 BMP信息
    @plcd:                  指向了 Linux 帧缓冲,保存其首地址
*/
void display_bmp_special_1(int x0,int y0,BMP *bmp,unsigned int *plcd);


/*
    display_bmp_special_2:  特效显示 BMP 图片
    @x0:                    待显示 BMP 图片在坐标轴的 X 坐标起点
    @y0:                    待显示 BMP 图片在坐标轴的 Y 坐标起点
    @bmp:                   指向的空间保存了 BMP信息
    @plcd:                  指向了 Linux 帧缓冲,保存其首地址
*/
void display_bmp_special_2(int x0,int y0,BMP *bmp,unsigned int *plcd);

/*
	display_jpeg:		显示 jpeg 图片
	@jpgfilename:		jpeg 图片 路径名
	@plcd:				保存屏幕信息的指针
*/

void draw_arrow_ring(int x0, int y0, int r, int arrowSize, unsigned int *pLCD);
#endif